🌓
SpringAI 入门
AI 概念
模型(Model)
- 一种模拟人类的认知,来处理和生成信息的程序算法。
- 这种程序算法可以通过大量的数据学习,可以做出推理、文本、图像、音视频等输出。
- 例如:ChatGPT、DeepSeek、yolo(视觉算法)等模型
提示词(Prompt)
- 提示词是引导AI模型特定处理和生成输出的语言输入基础。
- 简单来说,在使用AI模型时,提问也算是一种提示词。在需要处理/生成更复杂的信息时,编写高效的提示词就更为重要了。
- 如果已经接触过AI模型,应该知道在通过程序接入AI时,可以通过角色System\User来输入丰富的提示词。
- 所以在实际应用中,输入给AI的提示词中会存在部分由用户输入的信息、部分由系统决定的信息,可以通过模版技术来实现提示模版。
Embedding(嵌入)
- 将文本、图像或者音视频等输入数据转换为一种数值表示,在这些数值中捕捉到数据之间的关联性,称之为嵌入。
- 简单来说,输入数据被转换为小数熟知的数组,称之为向量。数组的长度为向量的维度,这些维度可以理解为数据的特性,那么数值则是这个特性的分值。
- 将向量想象成一个多维的坐标空间,数据就会在这个多维空间中每个维度都有一个点。通过各个维度坐标点计算两个向量之间的距离来判断相似度。
将系统数据或API接入AI模型的方式
模型微调
- 通过机器学习技术,使用自己的数据去“喂养”AI模型。
- 技术门槛高、需要的计算机资源也高。
- 部分模型不支持微调。
检索增强-RAG(提示词填充)
- 提示词填充是一种更简单、直接的方案,将数据直接通过提示词的方式,输入给AI模型。但是可能会受到模型的Token限制。
- 基于提示词填充方案,检索增强-RAG技术应运而生。解决将更多数据检索出来,通过提示词输入给AI模型,从而获得更为准确的处理和生成。
- 简单来说,RAG是将非结构化数据按块(chunk)写入向量数据库(在上面Embedding中提到过向量,这里是基于这种特性的数据库,而非传统关系型数据库)。然后通过向量检索出这些数据块,通过提示词输入给AI模型。所以向量数据库则是RAG中的核心。
- 在RAG中,数据分块决定了数据的准确性,比如:一段相连的段落,从中间被分割开称为了两个数据块,那么语意上很可能发生变化,从而影响向量检索的准确性。
工具调用
- 在 OpenAI 的
Function calling
介绍中,描述其是 OpenAI 模型提供的强大而又灵活的一种可以与你自己的代码或者外部服务进行交互的方式。
- 在 DeepSeek 的
Function calling
介绍中,描述其可以让模型能够调用外部工具,来增强自身能力。
- 从两个模型平台对
Function calling
的描述中,我们大致可以理解成,可以通过该方式让自己的系统与AI模型交互起来。与其说交互,我觉得用交流或沟通来描述更形象。
- 这里不论是从上面两个模型平台的文档中,还是SpringAI的文档中。工具的调用,并非AI模型直接去调用,实际上是由用户系统(你的系统)去调用;AI模型只是决策是否需要去调用工具,调用哪些工具;用户系统调用工具执行结果再次输入给AI模型进行处理、生成最终结果,这个过程可能会是多轮。
总结
- 对于模型和提示词只要使用过AI应该都比较容易理解。
- **Embedding(嵌入)**在SpringAI的文档中有提到,作为探索AI的开发者,无需深入研究向量背后的复杂数学算法,只需要理解其在AI系统中的功能与作用即可。至少目前不需要花太多精力去捯饬吧。
- 模型微调也不是我们开发探索者的首要目标。
- 在看过模型平台和SpringAI的文档中对 RAG 和 工具调用 的描述,首要目标应该是这两块。
- RAG 可以增加AI模型的准确性,就像是在用户与AI之间,增加了应用系统的翻译器,使得AI模型的上下文更加的围绕用户与应用系统。
- 工具调用 可以增强AI模型的能力,可以使得AI的处理、生成更加的丰富;AI成为了决策者、应用系统是执行者,为用户处理、生成更多的结果。
初识 SpringAI

- 从上面SpringAI文档的目录就可以看到,SpringAI封装了各种API。
- 提供了与AI模型通信交互的API,如ChatClient、提示词、结构化输出、多模态、多模型接入等。
- 提供了聊天记忆、工具调用、RAG、向量数据库等AI增强的API。
- 还有MCP上下文协议、模型评估等等,那么这些都是在后续中需要逐步学习的。
外部链接
最后
- 我也是刚刚开始探索和学习SpringAI,一边学习、一变记录自己的理解,可能会存在理解偏差。
- 接下来我会按照SpringAI文档的目录,初步目标逐步学习如何使用各种API,编写一些案例。
- 其次目标是在学习使用各种API后,花时间去研究其源码写上注释。
- 最终目标是学会SpringAI的使用并有一定自己的理解。